﻿using GraphProcessor;
using IQIGame.Onigao.Logic;

namespace IQIGame.Onigao.GamePlay.Editors
{
    [System.Serializable, NodeMenuItem(SkillEditorConst.SkillEffective + "/" + SkillEditorConst.Package + "/" + SkillEditorConst.Cure, typeof(SkillEditorGraph))]
    public class EffectivePackageNode_Cure: EffectivePackageNode_Base
    {

        protected override ESkillEffectiveType actionType => ESkillEffectiveType.Cure;

        [Input("基础治疗量")] public SkillEffectiveAction_ParamNum cure;
        
        [Output("实际治疗量")] public SkillEffectiveAction_ParamNum cureCount;
        
        [Output("治疗溢出")] public SkillEffectiveAction_ParamNum cureOut;

        protected override void Process()
        {
            base.Process();
            this.cureCount = new SkillEffectiveAction_ParamNum()
            {
                dataGuid = this.self.action.guid,
                key = BattleConst.RealCure,
            };
            this.cureOut = new SkillEffectiveAction_ParamNum()
            {
                dataGuid = this.self.action.guid,
                key = BattleConst.CureOut
            };
        }

        protected override SkillCustomConfig CreateConfig()
        {
            var rConfig = new SkillEffectiveAction_Cure_ConfigData()
            {
                cure = this.cure,
            };
            return rConfig;
        }
    }
}